iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 22
0

今天目標是把修改做完。

第一步

首先要先連到修改頁面,不過這次需要帶值過去,要怎麼做呢?

放置在清單頁面的 while(rs.next()) 底下即可,這樣就知道每一筆資料的id是什麼,然後把資料帶到修改頁面,在從修改頁面依這個id做搜尋,就可以顯示出這筆資料的內容。

<input type="button" value="修改" onclick="toUpdate(<%=rs.getString("id") %>)" />

這裡則會把值傳到修改頁面

function toUpdate(id) {
	$("#id").val(id);
	$("#mainForm").attr("action", "update.jsp");
	$("#mainForm").submit();
}

第二步

修改頁面接值以及搜尋資料,接值的就不多說了,搜尋資料的寫法有變的地方是日期顯示的部份,因為資料庫儲存的會包含時分秒,所以如果直接取用時,會發生多出 00:00:00 這樣的情況,所以就使用了date_format的方法來轉換顯示的格式。
注意:這邊是使用MySQL的語法,其他資料庫的語法並不適用。

String sql = " select id, title, content,  "
           + " date_format(begin_date, '%Y-%m-%d') begin_date, "
		   + " date_format(end_date, '%Y-%m-%d') end_date "
		   + " from bulletin "
		   + " where id = '"+id+"' ";
rs = st.executeQuery(sql);

第三步

因為這邊修改頁面不會有多筆的問題,所以使用 if(rs.next()) 就可以了。
然後把各個值放進去value欄位,就可以看到值了。

<form id="mainForm" method="POST" action="update_save.jsp">
	<input type="hidden" id="id" name="id" value="<%=id %>" />
	<%
		if(rs.next()) {
	%>
	<div>公告管理-修改</div>
	<br/>
	<div>標題:&nbsp;<input type="text" id="title" name="title" value="<%=rs.getString("title") %>" /></div>
	<br/>
	<div>內容:&nbsp;<input type="text" id="content" name="content" value="<%=rs.getString("content") %>" /></div>
	<br/>
	<div>開始日期:&nbsp;<input type="text" id="begin_date" name="begin_date" value="<%=rs.getString("begin_date") %>" /></div>
	<br/>
	<div>結束日期:&nbsp;<input type="text" id="end_date" name="end_date" value="<%=rs.getString("end_date") %>" /></div>
	<br/>
	<div>
		<input type="button" id="send" value="送出" onclick="sendData()" />
	</div>
</form>

第四步

這邊就是要處理接值及修改資料的動作。

String sql = " update member.bulletin set title = '"+title+"', content = '"+content+"', "
           + " begin_date = '"+begin_date+"', end_date = '"+end_date+"', "
           + " update_by = '"+userid+"', update_date = NOW() "
           + " where id = '"+id+"' ";
st.executeUpdate(sql);

第五步

修改完畢一樣導回清單頁面。

response.sendRedirect("list.jsp");

這樣就完成了修改功能,接著明天要做簡單的查詢功能。


上一篇
Day21:公告管理-清單
下一篇
Day23:公告管理-查詢功能
系列文
Java Web三十天學習歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言